home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2001 May / SGI IRIX Installation Tools & Overlays 2001 May - Disc 3.iso / relnotes / dmedia_dev / ch10.z / ch10
Text File  |  2001-04-16  |  7KB  |  199 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        10.  _C_D__A_u_d_i_o__/__D_A_T__A_u_d_i_o__D_e_v_e_l_o_p_m_e_n_t__L_i_b_r_a_r_i_e_s
  9.  
  10.  
  11.        This chapter lists information about the CD audio and DAT
  12.        audio libraries included in the IRIS Digital Media
  13.        Development Environment.  It includes changes, additions,
  14.        and bug fixes since the last release, and known problems and
  15.        workarounds.
  16.  
  17.  
  18.        _l_i_b_c_d_a_u_d_i_o provides a variety of functions to program
  19.        applications that make use of audio CDs in the CD-ROM drive.
  20.        It supports operating the CD-ROM drive as a stand-alone
  21.        player and also supports the transfer of digital audio data
  22.        across the SCSI bus.  It also communicates with _m_e_d_i_a_d to
  23.        ensure that mediad and other programs do not interfere with
  24.        an audio application that is using the CD-ROM drive.
  25.  
  26.        _l_i_b_d_a_t_a_u_d_i_o provides similar functions for programming
  27.        applications using commercial DAT-compatible audio tapes.
  28.        The DAT drive can't be used as a stand-alone player but
  29.        allows applications to read and write digital audio data
  30.        across the SCSI bus.
  31.  
  32.        Applications linked with the DAT Audio Library must also be
  33.        linked with the Audio Utility Library.  The linking order
  34.        is:
  35.  
  36.        ----llllccccddddaaaauuuuddddiiiioooo ----llllmmmmeeeeddddiiiiaaaadddd
  37.  
  38.        The DAT and CD Audio Libraries are shipped as statically
  39.        linked libraries (/_u_s_r/_l_i_b/{_l_i_b_d_a_t_a_u_d_i_o._a, _l_i_b_c_d_a_u_d_i_o._a})
  40.        included in the _d_m_e_d_i_a__d_e_v._s_w._a_u_d_i_o subsystem of IRIS
  41.        Digital Media Development Environment 2.0.
  42.  
  43.        The _I_R_I_S _D_i_g_i_t_a_l _M_e_d_i_a _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e contains an
  44.        introduction to programming with the CD and DAT Audio
  45.        Libraries.
  46.  
  47.        The on-line man pages _C_D_i_n_t_r_o(3A) and _D_T_i_n_t_r_o(3A) provide
  48.        brief overviews of each of the libraries and list available
  49.        procedure calls.
  50.  
  51.  
  52.        10.1  _P_r_o_g_r_a_m_m_i_n_g__E_x_a_m_p_l_e_s
  53.  
  54.        The directory /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_c_d+_d_a_t contains example
  55.        programs which read audio CD's and read/write audio format
  56.        DAT's.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        The example program /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_c_d_t_o_d_a_t._c shows
  75.        how to read audio data from a CD and correctly record it to
  76.        an audio DAT. It takes an entire CD and digitally transfers
  77.        the data to DAT, providing correct program numbers, index
  78.        numbers, program-time, absolute-time, copy-protect bits, and
  79.        lead-in and lead-out areas on the tape. cdtodat should
  80.        produce tapes that conform to the DAT specification.
  81.  
  82.        The example program /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_v_e_r_i_f_y_d_a_t._c shows
  83.        how to verify that an audio DAT tape has been correctly
  84.        formatted, using calls to the DAT audio library and ioctls
  85.        to the magnetic tape device driver.  Note that the program
  86.        is very strict about testing for conformance to the DAT
  87.        specification. Tapes produced by _c_d_t_o_d_a_t will pass this
  88.        test, however many tapes recorded on consumer DAT decks may
  89.        fail.
  90.  
  91.  
  92.  
  93.  
  94.        10.2  _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
  95.  
  96.           +o _l_i_b_d_a_t_a_u_d_i_o does not yet have a high-level routine for
  97.             recording audio data to tape.  To record to DAT you
  98.             need to create a DAT frame, as described in
  99.             _d_a_t_f_r_a_m_e(4), put the desired audio data into the frame,
  100.             and write the DAT frame to tape using _w_r_i_t_e(2).
  101.  
  102.             The sample program _c_d_t_o_d_a_t._c described above provides
  103.             an excellent example of how to format DAT frames and
  104.             write them to tape.
  105.  
  106.           +o DAT firmware problem: data tape at BOT.
  107.  
  108.             Assume a DDS (data) tape (i.e. a tape previously
  109.             recorded in data mode) is inserted in the DAT drive.
  110.             The drive will rewind the tape to logical BOT, which on
  111.             a data tape is different than physical BOT. If you
  112.             attempt to write audio data to the drive, it begins
  113.             writing at logical BOT.  When the tape is later re-
  114.             inserted into the drive, it is incorrectly recognized
  115.             as a data tape since DDS format data exists between
  116.             physical BOT and logical BOT.
  117.  
  118.             Workaround:  Check to see if the tape in the drive is
  119.             DDS media and at BOT.  If so, in audio mode write a
  120.             frame of data to move the tape off logical BOT, then
  121.             issue a rewind.  This will cause the tape to rewind
  122.             back to physical BOT.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.           +o DAT firmware problem: read position bug.
  141.  
  142.             The DAT drive firmware incorrectly returns its position
  143.             via the MTGETAUDIO ioctl to the IRIX tape driver. There
  144.             are two modes to this behavior.
  145.  
  146.                +o Immediately following a seek:  Suppose you seek by
  147.                  A-time (absolute time). Then MTGETAUDIO returns
  148.                  the correct A-time, but incorrect P-time (program
  149.                  time). Suppose you seek by P-time. Then MTGETAUDIO
  150.                  returns the correct P-time, but incorrect A-time.
  151.  
  152.                +o Following a read or write: Both A-time and P-time
  153.                  are wrong.
  154.  
  155.             Workaround: Read a frame from the tape and decode the
  156.             subcode information.  This of course moves the tape, so
  157.             you may have to seek back to the previous
  158.  
  159.           +o DAT firmware problem: read delay bug.
  160.  
  161.             If not used for 60 seconds, the DAT drive unloads the
  162.             tape from the heads. Once this happens, subsequent
  163.             reads will fail.
  164.  
  165.             Workaround: Avoid 60 second delays between subsequent
  166.             operations.
  167.  
  168.           +o DAT firmware problem: write following read.
  169.  
  170.             A write following a read is not frame-accurate. It may
  171.             go onto the tape several frames too early, overwriting
  172.             some of the data just read.
  173.  
  174.             Workaround: None (because of the following bug).
  175.  
  176.           +o DAT firmware problem: write following seek.
  177.  
  178.             A write following a seek is not frame-accurate. About
  179.             50% of the time, a write following a seek will go onto
  180.             the tape a few frames early.
  181.  
  182.             Workaround: None.
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.